package com.skivingcloud.report.datas.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Set;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 数据集管理
 * </p>
 *
 * @author skivingcloud
 * @since 2022-07-20
 */
@TableName("sys_report_dataset")
@ApiModel(value = "ReportDataset对象", description = "数据集管理")
public class ReportDataset implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("组件id")
    private String id;

    @ApiModelProperty("数据集编码")
    private String setCode;

    @ApiModelProperty("数据集名称")
    private String setName;

    @ApiModelProperty("数据集描述")
    private String setDesc;

    @ApiModelProperty(value = "数据集类型")
    private String setType;
    
    @ApiModelProperty("数据源编码")
    private String sourceCode;

    @ApiModelProperty("动态查询sql或者接口中的请求体")
    private String dynSentence;

    @ApiModelProperty("结果案例")
    private String caseResult;

    @ApiModelProperty("0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG")
    private String enableFlag;

    @ApiModelProperty(" 0--未删除 1--已删除 DIC_NAME=DEL_FLAG")
    private String deleteFlag;

    @ApiModelProperty("创建人")
    private String creater;

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("更新人")
    private String modUser;

    @ApiModelProperty("更新时间")
    private LocalDateTime modTime;

    @ApiModelProperty("版本号")
    private Integer version;

    /** 请求参数集合 */
    @TableField(exist = false)
    private List<ReportDatasetParam> dataSetParamList;

    /** 数据转换集合 */
    @TableField(exist = false)
    private List<ReportDatasetTransform> dataSetTransformList;

    /** 传入的自定义参数*/
    @TableField(exist = false)
    private Map<String, Object> contextData;

    @TableField(exist = false)
    private Set<String> setParamList;

    /**指定字段*/
    @TableField(exist = false)
    private String fieldLabel;
    
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getSetCode() {
        return setCode;
    }

    public void setSetCode(String setCode) {
        this.setCode = setCode;
    }
    public String getSetName() {
        return setName;
    }

    public void setSetName(String setName) {
        this.setName = setName;
    }
    public String getSetDesc() {
        return setDesc;
    }

    public void setSetDesc(String setDesc) {
        this.setDesc = setDesc;
    }
    
    public String getSourceCode() {
        return sourceCode;
    }

    public void setSourceCode(String sourceCode) {
        this.sourceCode = sourceCode;
    }
    public String getDynSentence() {
        return dynSentence;
    }

    public void setDynSentence(String dynSentence) {
        this.dynSentence = dynSentence;
    }
    public String getCaseResult() {
        return caseResult;
    }

    public void setCaseResult(String caseResult) {
        this.caseResult = caseResult;
    }
    public String getEnableFlag() {
        return enableFlag;
    }

    public void setEnableFlag(String enableFlag) {
        this.enableFlag = enableFlag;
    }
    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }
    public String getCreater() {
        return creater;
    }

    public void setCreater(String creater) {
        this.creater = creater;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public String getModUser() {
        return modUser;
    }

    public void setModUser(String modUser) {
        this.modUser = modUser;
    }
    public LocalDateTime getModTime() {
        return modTime;
    }

    public void setModTime(LocalDateTime modTime) {
        this.modTime = modTime;
    }
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    /**
     * @return the dataSetParamList
     */
    public List<ReportDatasetParam> getDataSetParamList() {
        return dataSetParamList;
    }

    /**
     * @param dataSetParamList the dataSetParamList to set
     */
    public void setDataSetParamList(List<ReportDatasetParam> dataSetParamList) {
        this.dataSetParamList = dataSetParamList;
    }

    /**
     * @return the dataSetTransformList
     */
    public List<ReportDatasetTransform> getDataSetTransformList() {
        return dataSetTransformList;
    }

    /**
     * @param dataSetTransformList the dataSetTransformList to set
     */
    public void setDataSetTransformList(List<ReportDatasetTransform> dataSetTransformList) {
        this.dataSetTransformList = dataSetTransformList;
    }

    /**
     * @return the contextData
     */
    public Map<String, Object> getContextData() {
        return contextData;
    }

    /**
     * @param contextData the contextData to set
     */
    public void setContextData(Map<String, Object> contextData) {
        this.contextData = contextData;
    }

    /**
     * @return the setParamList
     */
    public Set<String> getSetParamList() {
        return setParamList;
    }

    /**
     * @param setParamList the setParamList to set
     */
    public void setSetParamList(Set<String> setParamList) {
        this.setParamList = setParamList;
    }

    /**
     * @return the fieldLabel
     */
    public String getFieldLabel() {
        return fieldLabel;
    }

    /**
     * @param fieldLabel the fieldLabel to set
     */
    public void setFieldLabel(String fieldLabel) {
        this.fieldLabel = fieldLabel;
    }

    @Override
    public String toString() {
        return "ReportDataset{" +
            "id=" + id +
            ", setCode=" + setCode +
            ", setName=" + setName +
            ", setDesc=" + setDesc +
            ", setType=" + setType +
            ", sourceCode=" + sourceCode +
            ", dynSentence=" + dynSentence +
            ", caseResult=" + caseResult +
            ", enableFlag=" + enableFlag +
            ", deleteFlag=" + deleteFlag +
            ", creater=" + creater +
            ", createTime=" + createTime +
            ", modUser=" + modUser +
            ", modTime=" + modTime +
            ", version=" + version +
        "}";
    }

    /**
     * @return the setType
     */
    public String getSetType() {
        return setType;
    }

    /**
     * @param setType the setType to set
     */
    public void setSetType(String setType) {
        this.setType = setType;
    }
}
